package com.ruoyi.mes.service.impl;

import java.math.BigDecimal;
import java.util.List;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.SecurityUtils;
import com.ruoyi.mes.domain.MesTasks;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.mes.mapper.MesDispatchMapper;
import com.ruoyi.mes.domain.MesDispatch;
import com.ruoyi.mes.service.IMesDispatchService;

import javax.annotation.Resource;

/**
 * 派工单管理Service业务层处理
 * 
 * @author ruoyi
 * @date 2021-12-13
 */
@Service
public class MesDispatchServiceImpl implements IMesDispatchService 
{
    @Resource
    private MesDispatchMapper mesDispatchMapper;

    /**
     * 查询派工单管理
     * 
     * @param dispatchUuid 派工单管理主键
     * @return 派工单管理
     */
    @Override
    public MesDispatch selectMesDispatchByDispatchUuid(String dispatchUuid)
    {
        return mesDispatchMapper.selectMesDispatchByDispatchUuid(dispatchUuid);
    }

    /**
     * 查询派工单管理列表
     * 
     * @param mesDispatch 派工单管理
     * @return 派工单管理
     */
    @Override
    public List<MesDispatch> selectMesDispatchList(MesDispatch mesDispatch)
    {
        return mesDispatchMapper.selectMesDispatchList(mesDispatch);
    }


    /**
     * 派工时实际可填报数量
     *
     * @param mesDispatch 实际数量汇报
     * @return 实际数量
     */
    @Override
    public BigDecimal selectRemainDispatchQty(MesDispatch mesDispatch)
    {
        return mesDispatchMapper.selectRemainDispatchQty(mesDispatch);
    }
    /**
     * 新增派工单管理
     * 
     * @param mesDispatch 派工单管理
     * @return 结果
     */
    @Override
    public int insertMesDispatch(MesDispatch mesDispatch)
    {
        mesDispatch.setCreateBy(SecurityUtils.getUsername());
        mesDispatch.setCreateTime(DateUtils.getNowDate());
        return mesDispatchMapper.insertMesDispatch(mesDispatch);
    }

    /**
     * 修改派工单管理
     * 
     * @param mesDispatch 派工单管理
     * @return 结果
     */
    @Override
    public int updateMesDispatch(MesDispatch mesDispatch)
    {
        mesDispatch.setUpdateTime(DateUtils.getNowDate());
        return mesDispatchMapper.updateMesDispatch(mesDispatch);
    }

    /**
     * 批量删除派工单管理
     * 
     * @param dispatchUuids 需要删除的派工单管理主键
     * @return 结果
     */
    @Override
    public int deleteMesDispatchByDispatchUuids(String[] dispatchUuids)
    {
        return mesDispatchMapper.deleteMesDispatchByDispatchUuids(dispatchUuids);
    }

    /**
     * 删除派工单管理信息
     * 
     * @param dispatchUuid 派工单管理主键
     * @return 结果
     */
    @Override
    public int deleteMesDispatchByDispatchUuid(String dispatchUuid)
    {
        return mesDispatchMapper.deleteMesDispatchByDispatchUuid(dispatchUuid);
    }
}
